--local blogId = ARGV[1]
--local userId = ARGV[2]
--local blogKey = 'like:blog:' .. blogId
--
---- 检查用户是否已经点赞
--if redis.call('sismember', blogKey, userId) == 1 then
--    -- 如果用户已经点赞，取消点赞
--    redis.call('srem', blogKey, userId)
--    return 0  -- 返回0表示取消点赞
--else
--    -- 如果用户没有点赞，添加点赞
--    redis.call('sadd', blogKey, userId)
--    return 1  -- 返回1表示点赞成功
--end
local blogId = ARGV[1]
local userId = ARGV[2]
local likeTime = tonumber(ARGV[3]) or tonumber(redis.call('TIME')[1])  -- 获取当前时间戳作为点赞时间，如果传递了时间戳则使用传递的时间戳
local blogKey = 'like:blog:' .. blogId

-- 检查用户是否已经点赞
if redis.call('zscore', blogKey, userId) then
    -- 如果用户已经点赞，取消点赞
    redis.call('zrem', blogKey, userId)
    return 0  -- 返回0表示取消点赞
else
    -- 如果用户没有点赞，添加点赞
    redis.call('zadd', blogKey, likeTime, userId)
    return 1  -- 返回1表示点赞成功
end